Uitwisselprofiel IGJ Contextinformatie t.b.v. onaangekondigd inspectiebezoek

Over Uitwisselprofiel IGJ Contextinformatie t.b.v. onaangekondigd inspectiebezoek

1.2.0


Publicatiedatum:
02-10-2025

Inwerkingtreding:
02-10-2025

1.2.3. Wat is het aantal ingezette uren aan medewerkers met een zorgverlener functie per soort werkovereenkomst?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: IGJ 1.2.3
2# Parameters: ?peildatum, ?vestigingsnummer
3# Ontologie: versie 3.0.0 of nieuwer
4
5PREFIX onz-org: <http://purl.org/ozo/onz-org#>
6PREFIX onz-g: <http://purl.org/ozo/onz-g#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 
8PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
9PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
10
11SELECT
12    ?kwalificatie_niveau
13    (SUM(?alle_soorten_ok) AS ?Totaal_aantal_ingezette_uren_ZV)
14    (SUM(?onbepaald) AS ?Aantal_ingezette_uren_ZV_onbepaalde_tijd) 
15    (SUM(?bepaald) AS ?Aantal_ingezette_uren_ZV_bepaalde_tijd)
16    (SUM(?oproep) AS ?Aantal_ingezette_uren_ZV_oproep)
17    (SUM(?bbl) AS ?Aantal_ingezette_uren_ZV_BBL)
18    (SUM(?inhuur) AS ?Aantal_ingezette_uren_ZV_inhuur)
19    (SUM(?uitzend) AS ?Aantal_ingezette_uren_ZV_uitzend)
20    (SUM(?stage) AS ?Aantal_ingezette_uren_ZV_stage)
21    (SUM(?vrijwilliger) AS ?Aantal_ingezette_uren_ZV_vrijwilliger)
22{
23    SELECT DISTINCT
24        ?medewerker
25        ?kwalificatie_niveau
26        ?onbepaald ?bepaald ?oproep ?bbl ?inhuur ?uitzend ?stage ?vrijwilliger
27        ?alle_soorten_ok
28    {      
29        # BIND("2023-05-29"^^xsd:date AS ?peildatum)
30        # BIND(?vestigingsnummer AS ?vestigingsnummer)
31        BIND(?peildatum AS ?peildatum_argument)
32
33        VALUES ?type_overeenkomst {
34            onz-pers:ArbeidsOvereenkomstOnbepaaldeTijd
35            onz-pers:ArbeidsOvereenkomstBepaaldeTijd
36            onz-pers:OproepOvereenkomst
37            onz-pers:ArbeidsOvereenkomstBBL
38            onz-pers:InhuurOvereenkomst
39            onz-pers:UitzendOvereenkomst
40            onz-pers:StageOvereenkomst
41            onz-pers:VrijwilligersOvereenkomst
42        }
43        ?overeenkomst 
44            a ?type_overeenkomst ;
45            onz-pers:heeftOpdrachtnemer ?medewerker ;
46            onz-g:hasPart ?afspraak .
47        ?afspraak
48            onz-g:isAbout ?functie ;
49            onz-g:startDatum ?start_afspraak .
50        OPTIONAL {?afspraak onz-g:eindDatum ?eind_afspraak}
51        ?functie
52            a onz-pers:ZorgverlenerFunctie ;
53            onz-g:hasQuality /onz-g:hasQualityValue ?functie_niveau .
54        FILTER (?start_afspraak <= ?peildatum_argument && (!BOUND(?eind_afspraak) || ?eind_afspraak >= ?peildatum_argument))
55        #FILTER (?start_afspraak <= ?peildatum && (!BOUND(?eind_afspraak) || ?eind_afspraak >= ?peildatum))
56        ?functie_niveau
57            a onz-pers:ODBKwalificatieWaarde .
58        {
59            ?functie_niveau
60                a onz-pers:ODBKwalificatieWaarde ;
61                rdfs:label ?kwalificatie_niveau .
62        } UNION {
63            BIND("Totaal aantal ingezette uren" AS ?kwalificatie_niveau ) 
64        }
65        
66        # Werkperiode van alle zorgverlener functies
67        ?inzet
68            a onz-pers:GewerktePeriode ;
69            onz-g:definedBy ?overeenkomst ;
70            onz-g:hasPerdurantLocation ?werk_locatie ;
71            onz-g:hasBeginTimeStamp ?start_werk ;
72            onz-g:hasQuality ?gewerkte_tijd .
73            
74        ?werk_locatie onz-g:partOf* ?vestiging . # vind Vestiging die hoort bij werk_locatie
75        ?vestiging 
76            a onz-org:Vestiging ;
77            onz-g:identifiedBy ?vestigingsnummer_object .
78        ?vestigingsnummer_object
79            a onz-org:Vestigingsnummer ;
80            onz-g:hasDataValue ?vestigingsnummer . # filter vestiging op gegeven vestigingsnummer
81        
82        ?gewerkte_tijd
83            a onz-pers:GewerkteTijd ;
84            onz-g:hasQualityValue/onz-g:hasDataValue ?inzet_uren .
85        
86        BIND(STRDT(SUBSTR(STR(?start_werk), 1, 10), xsd:date) AS ?start_werk_datum)
87        FILTER(?start_werk_datum = ?peildatum )
88        
89        BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomstOnbepaaldeTijd, ?inzet_uren, 0) AS ?onbepaald)
90        BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomstBepaaldeTijd, ?inzet_uren, 0) AS ?bepaald)
91        BIND(IF (?type_overeenkomst = onz-pers:OproepOvereenkomst, ?inzet_uren, 0) AS ?oproep)
92        BIND(IF (?type_overeenkomst = onz-pers:ArbeidsOvereenkomstBBL, ?inzet_uren, 0) AS ?bbl)
93        BIND(IF (?type_overeenkomst = onz-pers:InhuurOvereenkomst, ?inzet_uren, 0) AS ?inhuur)
94        BIND(IF (?type_overeenkomst = onz-pers:UitzendOvereenkomst, ?inzet_uren, 0) AS ?uitzend)
95        BIND(IF (?type_overeenkomst = onz-pers:StageOvereenkomst, ?inzet_uren, 0) AS ?stage)
96        BIND(IF (?type_overeenkomst = onz-pers:VrijwilligersOvereenkomst, ?inzet_uren, 0) AS ?vrijwilliger)
97        BIND(?inzet_uren AS ?alle_soorten_ok)
98    } 
99}
100GROUP BY ?kwalificatie_niveau
101ORDER BY ?kwalificatie_niveau
102